using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace webapi.Controllers
{
    #region 说明
    /* 代码在 本人的码云上存放 
     * https://gitee.com/belin2000/classfornetcore 
     * 视频在本人的B站存放 ，up主名称：微风记录
     * 视频上传前，代码都会先更新到码云上，可以边看视频边尝试和理解
     * 如果大家觉得我讲得好，请多支持
     */
    #endregion
    //webapi在我们web开发中，占有很大得比重，我们常用得ajax请求，app端的请求，小程序的请求，几乎全部都是使用webapi来实现功能，所以，webapi是我们的重点了解和实现的功能
    /// <summary>
    /// 第一节：初识webapi
    /// </summary>
    //首先我们来创建一个webapi的控制器
    //ControllerBase:控制器的基础类

    [Route("api/[controller]")]
    [ApiController]
    public class OneController : ControllerBase
    {
        //我们来定义一个方法，这个方法是返回自己本身的两倍
        //然后我们给这个方法指定接收的方式,使用get方式接受数据
        [HttpGet]
        public int MySell(int num)
        {
            return num*2;
        }

        //这个时候，我再创建了一个函数,也定义了接受的方式[HttpGet]， 发现这样是无法使用,那我们就把接收的方式改为post方式后
        //[HttpGet]
        [HttpPost]
        public int MySell2([FromForm] int num)
        {
            return num;
        }
        //我们通过url看到，其实我们的数据还是通过url来传送，只是使用的是post方法而已
        //我们如何通过传统的form方案来处理呢
        //这个时候，我们给参数 
        //我们再运行程序，就看到传送的方式是通过form的方案来提交了

        //那么这个时候，我们就大概明白了：在系统提供的webapi初始模板的一个类中，只能接收一种类型的传送方式，不能同时间存在相同的传送方式，那么，如何可以使用两个或者多个相同传送方式呢？我们第二节课探讨这个问题
    }
}
